As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems (such as computer workstations, desktop computers and portable computers), often employ low power states and storage techniques that limit the amount of power consumed by the systems during periods of inactivity while maintaining the operating state (e.g., loaded applications and data) of the system. One example of such a technique is a reduced power state known as “suspend” (alternatively “sleep” or “standby”). During one type of conventional suspend state (i.e., Advanced Configuration and Power Interface “ACPI” S3 power state), information (e.g., data and instructions) required to maintain the last working operating state of the information handling system is maintained in powered dynamic random access volatile memory (DRAM). While in such a suspend state, power to other unneeded circuitry of the system is cut off until the machine is woken up again for use, at which time power is restored to the other components of the system and the saved operating state information maintained in the powered memory used to restore the information handling system to its last working operating state. Using this conventional suspend technique, power is consumed by the powered memory at all times while the system is in the suspend state. Additionally, some types of information handling systems, such as servers, do not currently support S3 (suspend to RAM) state.
Another type of conventional low power technique commonly refers to “hibernation” copies all information (e.g., data and instructions) required to maintain the last operating state of the information handling system from powered DRAM memory to a non-volatile storage disk so that power to the powered memory of the information handling system may be cut off together with power to the other system components during the hibernation state (ACPI S4 state). Saving information to a storage disk during the low power S4 hibernation state requires less power than storing this information in powered DRAM during the low power S3 suspend state. However, saving information to non-volatile storage disk during S4 hibernation state requires additional time for entering and recovering from the hibernation state, making these operations slower. Using such a hibernation technique also requires a disk drive to spin up and then be read to restore the last working state data to DRAM when restoring a system from a very low power state. This process can be very slow, as copying and restarting can take a relatively long time, especially for large DRAM systems like servers. To help speed recovery from S4 hibernation state, all working state DRAM contents (OS, applications and data) may be stored in fast non-volatile storage. Saving recovery data to flash memory of a solid state drive (SSD) during hibernation may be employed to further speed recovery from the suspend state, but requires a lot of additional storage space on the SSD to be allocated for this purpose, which increases storage expense for the system.
An SSD controller cannot write over an unerased flash memory block. Erasing cells on solid state flash memory to prepare put a flash memory block in a state that allows writing is several orders of magnitude slower than the act of writing to the flash memory block. Therefore, SSD controllers typically reserve about 20% to 50% of the total capacity of an enterprise SSD for “data garbage collection” (i.e., for accumulation of data that is no longer to be saved). At any given time, this reserved data garbage collection space is either already erased (i.e., making writing of new data fast) or is in the process of being erased. It does not contain any saved data. In this way, the reserved data garbage collection space eliminates the need for a write operation to go through an erase cycle before its data can be written to the SSD.